.\"   $Id: phseg.3,v 1.1 2002/03/08 13:51:03 fred Exp $
.\" @(#)phseg.l 0.0 90/22/08 UPMC; Author: Frederic Petrot
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
phseg
.XE
.XS0 \n%
.ti 0.2i
phseg
.XE0 \}
.TH PHSEG 3 "October 1, 1997" "ASIM/LIP6" "MBK PHYSICAL STRUCTURE DEFINITIONS"
.SH NAME
phseg \- mbk physical segment 
.SH DESCRIPTION
The \fBphseg\fP structure is used to describe a segment belonging to a
symbolic layout model, see \fBphfig\fP(3) for details.
Transistors are segments of a particular layer.
.LP
The declarations needed to work on \fBphseg\fP are available in the header file
\fI"/labo/include/mph402.h"\fP, where '\fI402\fP' is the actual mbk version.
.LP
The following C structure supports the description of the segment :
.RS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
.ta 3n 20n 30n
typedef struct phseg {
	struct phseg	\(**NEXT;
	char	\(**NAME;
	long	X1,Y1,X2,Y2;
	long	WIDTH;
	char	TYPE;
	char	LAYER;
	struct ptype	\(**USER;
} phseg_list;
.ft R
.fi
.RE
.TP 20
\fINEXT\fP
Pointer to the next segment in the list.
.TP
\fINAME\fP
Name of the segment. The name is not an identifier, and a name is present only
if the designer used one for debug purposes.
.TP
\fIX1, Y1, X2, Y2\fP
Coordinates of each end of the segment. Since it's a symbolic segment, one
alway has either \fIX1 = X2\fP or \fIY1 = Y2\fP. Furthermore, by construction,
it is warranty, if one accesses the data structure through the legal functions,
that \fIX1 <= X2\fP and \fIY1 <= Y2\fP.
.TP
\fITYPE\fP
This caracter can take four values :
.RS
.TP 20
\fBLEFT\fP or \fBRIGHT\fR
if \fIY1 = Y2\fP.
The exact value is chosen by \fBaddphseg\fR, depending upon \fIX1\fR and 
\fBX2\fP relations.
.TP
\fBUP\fP or \fBDOWN\fR
if \fIX1 = X2\fP
.RE
.TP
\fILAYER\fP
Symbolic layer used for the segment. The legal values are :
.RS
.TP 20
\fBNWELL\fP
N bulk
.TP
\fBPWELL\fP
P bulk
.TP
\fBNTIE\fP
N implant in P bulk
.TP
\fBPTIE\fP
P implant in N bulk
.TP
\fBNDIF\fP
N diffusion
.TP
\fBPDIF\fP
P diffusion
.TP
\fBNTRANS\fP
N transistor
.TP
\fBPTRANS\fP
P transistor
.TP
\fBPOLY\fP
polysilicium
.TP
\fBALU1\fP
first metal
.TP
\fBALU2\fP
second metal
.TP
\fBALU3\fP
third metal
.TP
\fBTPOLY\fP
polysilicum through route
.TP
\fBTALU1\fP
first metal through route
.TP
\fBTALU2\fP
second metal through route
.TP
\fBTALU3\fP
third metal through route
.RE
.TP
\fIWIDTH\fP
Width of the segment. The physical extension of a segment is perpendicular
to its direction.
.TP
\fIUSER\fP
Pointer to a ptype list, see \fBptype\fP for details, that is a general purpose
pointer used to share information on the segment.
.SH SEE ALSO
.BR mbk (1),
.BR addphseg (3),
.BR getphseg (3),
.BR delphseg (3),
.BR phfig (3),
.BR ptype (3).


.so man1/alc_bug_report.1

